{
"cells": [
{
"cell_type": "markdown",
"id": "ed5ab587",
"metadata": {},
"source": [
"# Governing Equations\n",
"**강좌**: *기초 전산유체역학*"
]
},
{
"cell_type": "markdown",
"id": "fb91fe4b",
"metadata": {},
"source": [
"## 유동 지배방정식\n",
"역학은 3개의 보전 방정식을 다룬다.\n",
"\n",
"- 질량 보전 ($dm=0$)\n",
"\n",
"- 운동량 보전 ($F=ma$)\n",
"\n",
"- 에너지 보전 ($\\delta q = de + \\delta w$)\n",
"\n",
"유체역학 (공기역학)에서는 운동을 Eulerian 관점에서 기술하고, Control Volume 개념을 도입하여 위 보존 방정식을 기술한다.\n",
"\n",
"### Reynolds Transport Theorem\n",
"\n",
"- 유동장 내 임의의 고정된 형상을 Control Volume으로 고려할 때\n",
"\n",
" - $B$: fluid property (momentum, energy...)\n",
" * $\\beta$: intensive value\n",
" * $B_{CV}=\\iiint_{CV}\\beta\\rho dV, \\beta=\\frac{dB}{dm}$\n",
" - Control Volume 내 변화량 : $\\frac{d}{dt}B_{CV}=\\frac{d}{dt}\\iiint_{CV}\\beta\\rho dV$\n",
" - Control Volune 에 in/out 량 : $\\iint_{S}\\beta\\rho\\mathbf{V}\\cdot\\mathbf{dS}=\\iint_{S}\\beta d\\dot{m}$\n",
"\n",
"\n",
":::{figure-md} Reynolds_transport\n",
"
\n",
"\n",
"Reynolds Transport Theorem (Wikimedia)\n",
":::\n",
"\n",
"- System (특정 유동 입자들)에서 변화량\n",
"\n",
" - $\\frac{d}{dt}B_{sys}=\\frac{d}{dt}\\iiint_{CV}\\beta\\rho dV+\\iint_{S}\\beta\\rho\\mathbf{V}\\cdot\\mathbf{dS}=\\iint_{S}\\beta d\\dot{m}$\n",
"\n",
" - 질량 보전 : $B=m, \\beta=1$\n",
"\n",
" - 운동량 보전 : $B=mV, \\beta=V$\n",
"\n",
" - 에너지 보전 : $B=me_{t}, \\beta=e_{t}=e+\\frac{1}{2}V^{2}$\n",
"\n",
"### 비점성 유동 지배방정식\n",
"- 질량 보전 법칙 ($dm=0$)\n",
"\n",
"$$\n",
"\\\\\\frac{\\partial}{\\partial t}\\iiint_{V}\\rho dV+\\iint_{S}\\rho\\mathbf{V}\\cdot\\mathbf{dS}=0.\n",
"$$\n",
"\n",
"$$\n",
"\\frac{\\partial\\rho}{\\partial t}+\\nabla\\cdot(\\rho\\mathbf{V})=0.\n",
"$$\n",
"\n",
"- 운동량 보전 법칙 ($F=ma$)\n",
"\n",
"$$\n",
"\\frac{\\partial}{\\partial t}\\iiint_{V}\\rho\\mathbf{V}dV+\\iint_{S}(\\rho\\mathbf{V}\\cdot\\mathbf{dS})\\mathbf{V}=-\\iint_{S}p\\mathbf{dS}\n",
"$$\n",
"\n",
"$$\n",
"\\frac{\\partial(\\rho u)}{\\partial t}+\\nabla\\cdot(\\rho u\\mathbf{V})=-\\frac{\\partial p}{\\partial x} \\\\ \n",
"\\frac{\\partial(\\rho v)}{\\partial t}+\\nabla\\cdot(\\rho v\\mathbf{V})=-\\frac{\\partial p}{\\partial y}\n",
"$$\n",
"\n",
"- 에너지 보전 법칙 ($\\delta q+\\delta w=de$)\n",
"\n",
"$$\n",
"\\frac{\\partial}{\\partial t}\\iiint_{V}\\rho e_{t}dV+\\iint_{S}\\rho e_{t}\\mathbf{V}\\cdot\\mathbf{dS}=-\\iint_{S}(p\\mathbf{V}\\cdot\\mathbf{dS})+\\iiint\\dot{q}\\rho dV\n",
"$$\n",
"\n",
"$$\n",
"\\frac{\\partial}{\\partial t}\\left[\\rho\\left(e+\\frac{V^{2}}{2}\\right)\\right]+\\nabla\\cdot\\left[\\rho\\left(e+\\frac{V^{2}}{2}\\right)\\mathbf{V}\\right]=-\\nabla\\cdot(p\\mathbf{V})\n",
"$$\n",
"\n",
"- 2차원 Euler Equation\n",
"\n",
"$$\n",
"\\frac{\\partial U}{\\partial t} + \\frac{\\partial F(U)}{\\partial x} + \\frac{\\partial G(U)}{\\partial y} = 0.\n",
"$$\n",
"\n",
"$$\n",
"U = \\left [\n",
"\\begin{matrix}\n",
"\\rho \\\\ \\rho u \\\\ \\rho v \\\\ \\rho e_t\n",
"\\end{matrix}\n",
"\\right ],\n",
"F = \\left [\n",
"\\begin{matrix}\n",
"\\rho u \\\\ \\rho u^2 + p \\\\ \\rho u v \\\\ \\rho u h_t\n",
"\\end{matrix}\n",
"\\right ],\n",
"G = \\left [\n",
"\\begin{matrix}\n",
"\\rho v \\\\ \\rho uv \\\\ \\rho v^2 + p \\\\ \\rho u h_t\n",
"\\end{matrix}\n",
"\\right ]\n",
"$$\n",
"\n",
"여기서\n",
"\n",
"$$\n",
"e_t = e + \\frac{\\mathbf{V}^2}{2}, h_t = e_t + \\frac{p}{\\rho}.\n",
"$$\n",
"\n",
"미지수는 $\\rho, \\mathbf{V}, p, e$ 이므로 방정식 개수보다 많다. 상태 방정식을 이용해야 한다.\n",
"\n",
"#### 이상기체 상태 방정식\n",
"- $p=\\rho R T$, $R=\\Re/M_{air}=287J/(Kg\\cdot K)$\n",
"\n",
":::{figure-md} Ideal Gas EOS\n",
"
\n",
"\n",
"Equation of State for ideal Gas (Wikimedia)\n",
":::\n",
"\n",
"- $e = c_v T$, $c_v = \\frac{1}{\\gamma-1} R$\n",
"- 위 두식으로 부터 다음 관계를 좀 더 많이 활용한다.\n",
" * $e = \\frac{p}{\\rho (\\gamma-1)}$\n",
" \n",
" \n",
"### 비압축성 유동 지배방정식\n",
"- 비압축성 유동에서는 밀도가 거의 변하지 않아 일정하다.\n",
"\n",
"$$\n",
"\\begin{align}\n",
"\\frac{\\partial}{\\partial t}+\\nabla\\cdot(\\mathbf{V})=0. \\\\\n",
"\\frac{\\partial(u)}{\\partial t}+\\nabla\\cdot(u\\mathbf{V})=-\\frac{1}{\\rho}\\frac{\\partial p}{\\partial x} \\\\ \n",
"\\frac{\\partial(v)}{\\partial t}+\\nabla\\cdot(v\\mathbf{V})=-\\frac{1}{\\rho}\\frac{\\partial p}{\\partial y}\n",
"\\end{align}\n",
"$$\n",
"\n",
"- 운동량 보전 방정식, 비회전류 가정시\n",
" \n",
"$$\n",
"p+\\frac{1}{2}\\rho V^{2}=const.\n",
"$$\n",
"\n",
"- Velocity Potential 을 이용하면 질량 보전식은 다음과 같이 Laplace Equation으로 정리된다.\n",
"\n",
"$$\n",
"\\phi_{xx} + \\phi_{yy} = 0, \\mathbf{V} = \\nabla \\phi.\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "fa669183",
"metadata": {},
"source": [
"## Types of Partial Differential Equation\n",
"### 물리적 구분\n",
"#### Equilibrium Problem\n",
"- 경계 조건에 의해 해가 결정되는 문제\n",
"- Steady-state temperature distribution, incompressible inviscid flow, equilibrium stress in solid\n",
"\n",
":::{figure-md} Steady_Airfoil\n",
"
\n",
"\n",
"Steady flow around airfoil (Wikimedia)\n",
":::\n",
"\n",
"#### Marching Problem\n",
"- 초기 조건과 경계 조건에 의해 결정되는 문제\n",
"- 파동의 전파\n",
"\n",
":::{figure-md} Karman_Vortex\n",
"
\n",
"\n",
"Karman vortex shedding (Wikimedia)\n",
":::\n",
"\n",
"### 수학적 구분\n",
"- Characteristics\n",
" * 물성치가 일정하거나, 그 미분 값이 불연속 적인 선 또는 면\n",
" * 정보가 전파되는 방향\n",
" \n",
":::{figure-md} Shock_Wave\n",
"
\n",
"\n",
"Shock Wave Pattern (Wikimedia)\n",
"::: \n",
"\n",
"- 2계 미분 방정식\n",
"\n",
" $$\n",
" a \\phi_{xx} + b \\phi_{xy} + c \\phi_{yy} = H(\\phi, \\phi_x, \\phi_y)\n",
" $$\n",
" \n",
" * Curve C를 따라서 2차 미분이 연속적이지 않을 때, Parameter $\\tau$로 표시하면, $(x(\\tau), y(\\tau))$\n",
" \n",
" $$\n",
" \\phi_x = p(\\tau), \\phi_y = q(\\tau) \\\\\n",
" \\phi_{xx} = u(\\tau), \\phi_{xy} = v(\\tau), \\phi_{yy} = w(\\tau)\n",
" $$\n",
" \n",
" * 미분 방정식은 다음과 같다.\n",
" \n",
" $$\n",
" a u(\\tau) + b v(\\tau) + c w(\\tau) = H(\\tau) \\\\\n",
" \\frac{dp}{d\\tau} = u \\frac{dx}{d\\tau} + v \\frac{dy}{d\\tau} \\\\\n",
" \\frac{dq}{d\\tau} = v \\frac{dx}{d\\tau} + w \\frac{dy}{d\\tau} \\\\\n",
" $$\n",
" \n",
" * 다음 행렬의 고유치에 따라 특성곡선이 존재할 수 있다.\n",
" \n",
" $$\n",
" \\left [\n",
" \\begin{array}{ccc}\n",
" a & b & c \\\\\n",
" \\frac{dx}{d\\tau} & \\frac{dy}{d\\tau} & 0 \\\\\n",
" 0 & \\frac{dx}{d\\tau} & \\frac{dy}{d\\tau}\n",
" \\end{array}\n",
" \\right ]\n",
" \\left [\n",
" \\begin{array}{c}\n",
" u \\\\\n",
" v \\\\\n",
" w\n",
" \\end{array}\n",
" \\right ]\n",
" =\n",
" \\left [\n",
" \\begin{array}{c}\n",
" H \\\\\n",
" -\\frac{dp}{d\\tau} \\\\\n",
" \\frac{dq}{d\\tau}\n",
" \\end{array}\n",
" \\right ]\n",
" $$\n",
"\n",
" * 특성곡선 $dy/dx$\n",
" \n",
" $$\n",
" a \\frac{d^2y}{dx^2} - b \\frac{dy}{dx} + c =0\n",
" $$\n",
" \n",
" * $b^2 - 4ac > 0$: 특성 곡선 2개\n",
" * $b^2 - 4ac = 0$: 특성 곡선 1개\n",
" * $b^2 - 4ac < 0$: 특성 곡선 없음 \n",
" \n",
"#### Hyperbolic PDE\n",
"- 서로 다른 Charateristics 가 존재함\n",
"- 정보의 전파가 제한됨\n",
"- 파동 방정식 ($u_{tt} - c^2 u_{xx} = 0)$, 초음속 비점성 유동\n",
" * $F(x+ct)$, $F(x-ct)$\n",
" \n",
":::{figure-md} hyperbolic\n",
"
\n",
"\n",
"Two characteristics of hyperbolic PDE (Wikimedia)\n",
"::: \n",
"\n",
"#### Parabolic PDE\n",
"- 중첩된 Characteristics 가 존재함\n",
"- 이전 영역에서 모든 정보가 다음 시간의 해에 영향을 줌\n",
"- Diffusion equation, Heat condcution problem ($u_t = \\nu u_{yy}$)\n",
" * 경계층 유동 문제 (Blasius Solution): ODE 로 변환 가능\n",
" \n",
"#### Elliptic PDE\n",
"- Charateristics 가 존재하지 않음 (허수임)\n",
"- 모든 방향으로 정보가 전파함\n",
"- Laplace Equation (Steady, incompressible, inviscid flow)\n",
"\n",
"### Well-posed vs ill-posed probem\n",
"- 초기 및 경계 조건이 적절히 주어져야 PDE를 해석할 수 있음\n",
"\n",
"### Linear vs Non-linear\n",
"- 변수와 그의 미분이 선형으로 구성 (곱, 제곱 항이 없음)\n",
"\n",
"## Some Model Equations\n",
"### 선형 파동 방정식\n",
"- Marching problem, 선형 Hyperbolic Equation\n",
"\n",
"$$\n",
"u_t + a u_x = 0.\n",
"$$\n",
"\n",
"### Burgers 방정식\n",
"- Marching problem, 비선형 Hyperbolic Equation\n",
"\n",
"$$\n",
"u_t + f_x = 0, f = \\frac{1}{2} u^2.\n",
"$$\n",
"\n",
"### Laplace 방정식\n",
"- Equilibrium Problem, Elliptic PDE\n",
"\n",
"$$\n",
"u_{xx} + u_{yy} = 0.\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a99e2be8",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}